Usamos esta t\'ecnica para tener una visi\'on global del sistema. El uso de andariveles nos permite organizar los responsables de las distintas actividades.
\paragraph{}Muchas de estas actividades son interacciones entre el sistema y los distintos actores que oportunamente fueron descriptas en el Diagrama de Casos de Uso. Entre par\'entesis notamos a que n\'umero de Caso de Uso corresponde seg\'un aparecen en la secci\'on 2.
\paragraph{}Este diagrama cubre los requerimientos, Req8, Req9, Req13, Req17, Req27, Req37, Req48, Req49

\section{Elecci\'on del m\'etodo}
Elegimos esta t\'ecnica ya nos muestra un panorama general de las responsabilidades de los distintos actores del modelo.
\paragraph{}Nos permite entender como es que se dan las interacciones a lo largo del proceso de ingreso, preparaci\'on y entrega del pedido.\\


\section{DA Coloquial}
Separamos el Diagrama de Actividad en dos partes para su mejor lectura.
\paragraph{}En la primera parte, un cliente produce un pedido. Luego de su ingreso y carga en el sistema, el pedido es preparado por el Barman.
\paragraph{}En la segunda parte, cuando el barman termina de preparar el pedido, se lo pasa al distribuidor qui\'en dependiendo de si el pedidoes con env\'io o no, combina con la moto, o en su defecto un taxista, para la entrega del pedido al cliente.

\section{Relacion DA con MC}

\begin{itemize}
	\item \textbf{Hay Stock suficiente para realizar el pedido?:} se puede verificar haciendo la cuenta del stock disponble contra el stock necesario para satisfacer el pedido del cliente. El stock necesario para satisfacer el pedido se puede calcular utilizando las clases \textit{TragoPosible}, \textit{TipoIngrediente} y \textit{IngredienteEnReceta}. Con las clases \textit{ProductoPedido}, \textit{IngredienteEnStock} y \textit{IngredienteConsumido} se puede calcular el stock disponible de los TragosPosibles.
	
	\item \textbf{Registra pedido:} Al registrar un pedido se crean los objetos \textit{ProductoPedido}, \textit{Pedido}, correspondientes a los productos pedidos por el cliente, asociando los mismos a los objetos \textit{TragoPosible}, \textit{Pedido}. En dicho momento el atributo \textit{estado} del objeto \textit{Pedido} se setea en \textit{Ingresado}, el atributo \textit{fechaPedido} lleva la fecha actual del sistema al momento de realizar el pedido, el atributo \textit{fechaRecepcion} no estar\'a seteada ya que la misma no fue entregada todavia y por \'ultimo el atributo \textit{tipo} se setear\'a con el tipo de entrega que pacto el cliente, las cuales pueden ser \textit{Inmediata}, \textit{Programada} o \textit{Cliente}.

	\item \textbf{Cancelar Pedido:} en el caso de que no haya sufiente stock para realizar el pedido no se crean los objetos \textit{ProductoPedido} ni \textit{Pedido}.
	
	\item \textbf{Reservar Mercaderia:} Se crean las clases \textit{IngredienteEnStock} y \textit{IngredienteConsumido} para reservar la mercaderia del pedido realizado asociando las mismas con el los objetos \textit{ProductoPedido} y \textit{TipoIngrediente}

	\item \textbf{Premiar cliente:} La accion de premiar un cliente por ser el m\'as consumidor modifica el modelo conceptual agregando una asociaci\'on pedido-obsequio entre \textit{Pedido} y \textit{ProductoPedido}.

	\item \textbf{Ingresar en el sistema el pedido terminado:} Se cambia el atributo \textit{estado} del objeto \textit{Pedido} al estado \textit{Preparado}.

	\item \textbf{Hay moto disponible?:} Se verifica que exista al menos un objeto \textit{Veh\'iculos} con atributo tipo \textit{Moto} que no tengan objeto \textit{Viaje} actuales asociados, es decir con el atributo fechaLlegada no seteados.

	\item \textbf{Ingresar en el sistema el env\'io por taxi:} crea un objeto \textit{Viaje} asociado a un objeto \textit{Veh\'iculo} del tipo taxi el cual se asocia con el pedido del cliente. Se modifica el estado del pedido a \textit{Enviado}.

	\item \textbf{Ingresar en el sistema el env\'io por moto} crea un objeto \textit{Viaje} asociado a un objeto \textit{Veh\'iculo} del tipo moto el cual se asocia con el pedido del cliente. Se modifica el estado del pedido a \textit{Enviado}.

	\item \textbf{Informar hor de entrega} Setea el atributo \textit{fechaLlegada} del objeto \textit{Viaje} asociado al pedido entregado.

	\item \textbf{Ingresar en el sistema el pedido entregado} Setea el atributo \textit{fechaRecepcion} del objeto \textbf{Pedido} y modifica el estado del mismo a \textit{Entregado}

	\item \textbf{Avisar al sistema la llegada de una moto} se setea el atributo \textit{fechaLlegada} del objeto \textbf{Viaje} asociado a la moto que no tiene \textit{fechaLlegada} seteada, es decir el \'ultimo viaje.

 
\end{itemize}



\newpage

\begin{figure}
 \section{Diagrama de Actividades}
	\centering
		\includegraphics[scale=0.40]{secciones/graficos/DA.pdf}
	\caption{Diagrama de Actividades}
	\label{Diagrama de Actividades}
\end{figure}

\begin{figure}
 \section{Diagrama de Actividades}
	\centering
		\includegraphics[scale=0.40]{secciones/graficos/DA2.pdf}
	\caption{Diagrama de Actividades}
	\label{Diagrama de Actividades}
\end{figure}

